// 读取一个不多于 5 位的正整数：
// 1) 输出位数；2) 按原序打印各位（直接输出该数）；3) 按逆序打印各位（作为整数输出）
#include <stdio.h>

int main(void)
{
    int n;
    if (scanf("%d", &n) != 1) {
        return 0;
    }
    if (n <= 0) {
        // 题面要求正整数，遇到非正直接结束
        return 0;
    }

    // 计算位数
    int digits = 0;
    int t = n;
    do {
        digits++;
        t /= 10;
    } while (t > 0);

    // 计算逆序整数（前导 0 会被自然去除）
    int rev = 0;
    t = n;
    while (t > 0) {
        rev = rev * 10 + (t % 10);
        t /= 10;
    }

    // 分行输出：位数、原序（输出 n）、逆序（输出 rev）
    printf("%d\n", digits);
    printf("%d\n", n);
    printf("%d", rev);
    return 0;
}